package com.yungu.swift.common.service;

import com.yungu.swift.base.ResponseData;
import com.yungu.swift.base.service.BaseService;
import com.yungu.swift.common.model.dto.CommonStarTagDto;
import com.yungu.swift.common.model.dto.CommonTagDto;
import com.yungu.swift.common.model.dto.CommonTextTagDto;
import com.yungu.swift.common.model.param.AdminTagParam;

import java.util.List;


/**
 * CommonTagService
 **/

public interface CommonTagService extends BaseService<CommonTagDto> {

    /**
     * 获取带星级标签
     *
     * @param tagType    标签类型
     * @param clientSide 用户侧
     * @return List
     * @author Zerrion
     * @date 2018/1/16
     */
    ResponseData<List<CommonStarTagDto>> listStarTag(Integer tagType, Integer clientSide);

    /**
     * 获取文本标签
     *
     * @param tagType    标签类型
     * @param clientSide 用户侧
     * @return List
     * @author Zerrion
     * @date 2018/1/16
     */
    ResponseData<List<CommonTextTagDto>> listTextTag(Integer tagType, Integer clientSide);

    /**
     * 标签重复校验
     *
     * @param tagCode
     * @param tagName
     * @param tagNameEn
     * @return true : 标签校验通过，允许使用 ;false:标签校验通过，不允许使用
     */
    ResponseData<Boolean> verification(String tagCode, String tagName, String tagNameEn);

    /**
     * 标签新增或更新
     *
     * @param tagParam
     * @return
     */
    ResponseData<Boolean> saveOrUpdate(AdminTagParam tagParam);
}